package cn.vc.wallet.service;

import cn.vc.auth.entity.po.VUser;
import cn.vc.basicmodule.entity.Result;
import cn.vc.wallet.entity.dto.WalletDto;
import cn.vc.wallet.entity.po.Wallet;
import cn.vc.wallet.util.SecurityUtil;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.Random;

/**
 * @author mo
 * @Description:
 * @日期: 2024-04-20 18:03
 **/
public interface WalletService {

    /**
     * 创建钱包
     * @param id 用户ID，同时作为钱包ID
     */
    void createWallet(Long id);
    /**
     * 签到
     * @return
     */
    Result<Integer> signIn(Long id);

    /**
     * <h2>修改金币</h2>
     * @param id
     * @param coin
     * @return
     */
    boolean updateCoin(Long id, int coin);


    /**
     * 通过ID查询钱包
     * @param id
     * @return
     */
    WalletDto selectById(Long id);


    /**
     * 兑换金币
     * @return 兑换的金币数
     */
    Long goldExchange(Long id, Long diamond);

    /**
     * 扣除钻石
     * @param id 钱包id
     * @param diamond 扣除钻石
     */
    boolean diamondDeduction(Long id, Long diamond);

}
